import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import 'amfe-flexible' // 引入flexible.js (用于动态设置html的font-size), 让一套rem单位适配

// 注册vant组件
// main.js是入口(先执行)
// Vue.use()注册全局组件
import { Button, NavBar, Field, Form, Notify, Tabbar, TabbarItem, Icon, Tab, Tabs, Cell, List, PullRefresh } from 'vant'

Vue.use(NavBar)
Vue.use(Button)
Vue.use(Field)
Vue.use(Form)
Vue.use(Tabbar)
Vue.use(TabbarItem)
Vue.use(Icon)
Vue.use(Tab)
Vue.use(Tabs)
Vue.use(Cell)
Vue.use(List)
Vue.use(PullRefresh)
Vue.prototype.$notify = Notify

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

// 问题1: 没有组件
// 套路:
// (1): 找组件(vant)
// (2): 下组件(下源码到node_modules)
// (3): 引入组件(全部引入, 按需引入)
// (4): 注册组件
// (5): 使用组件(使用组件标签)

// 问题2: 改了配置项, 得重启才能生效 (样式)
// webpack开发服务器, 只能检测到入口相关文件变化
// 只要入口不相关的文件发生了变化(配置文件变化), 重启服务器生效

// 问题3: 为什么Vue.use也能注册全局组件
// 注册全局组件不是 Vue.component('VanButton', 组件对象)
// Vue.use()会在Vue源码内指向你传入的这个对象里install方法/传入的函数直接执行
// Vue.use()方法作用: 就是给Vue注册插件功能
// 回答: 因为它执行传入对象install方法, 在内部install方法里有Vue.component
